class Solution {
    public int lengthOfLongestSubstring(String ss) {
        char[] s = ss.toCharArray();

        int[] hash = new int[128];//用数组模拟哈希表
        int left = 0,right = 0,n = ss.length();
        int ret = 0;
        while(right < n){
            hash[s[right]] ++;//进入窗口,相当于该字符存在一个
            while(hash[s[right]] > 1){//判断,相当于判断字符是不是存在,要是存在的话就删掉字符,然后左边再进行循环
                hash[s[left ++]] --;//出窗口
            }
            ret = Math.max(ret,right - left + 1);//更新结果
            right ++;//让下一个字符进入窗口
        }
        return ret;
    }
}